C语言中 "?:" 是干嘛用的? 怎么用?

来源:百度知道 编辑:UC知道 时间:2024/09/23 04:52:33
看到这么一段程序
maxscore = score[i] > maxscore ? score[i] : maxscore;

虽然联系上下文我晓得他是干嘛用的..
不过C语言我是自学的..好像书里之前没讲过"?:"这个东西..
请问这是干什么用的?
该怎么用?
谢谢.
或者找相关的教程给我也好..

? : 是条件操作符,

exp1?exp2:exp3;

如果exp1为真,则返回exp2的值,否则返回exp3的值。

score[i] > maxscore ? score[i] : maxscore;

如果score[i] > maxscore为真(成立),则返回score[i]的值,否则返回maxscore的值。

C中的?是连接前后文的 就象语文中的并且的意思

如果score[i] > maxscore那么就等于score[i],否则就等于maxscore

a:b?c
相当于
if(a)
b;
else
c;